@附加资源("../../素材/附加/")
类 启动窗口 : 窗口

	@布局配置([[根布局=真,宽度=-1,高度=-1,背景颜色=-1576716]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,高度DP=350,@位于布局中间=真]])
	变量 相对布局3 : 相对布局
	@布局配置([[父布局=相对布局3,宽度DP=200,高度DP=200,可视=真]])
	变量 漂亮的圆形拖动条1 : 漂亮的圆形拖动条
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,背景颜色=-1576716,可视=假]])
	变量 相对布局2 : 相对布局
	@布局配置([[父布局=相对布局2,对齐方式=17,纵向布局=真,@位于布局中间=真,宽度=-1,ID=1]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,对齐方式=17,内容="Hello",粗体=真,字体大小=30,@外边距DP=15,右内边距DP=150,字体颜色=-16777216]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=线性布局1,对齐方式=17,内容="好久不见！",字体大小=24,左内边距DP=50,@下外边距DP=200]])
	变量 文本框2 : 文本框
	@布局配置([[父布局=相对布局2,宽度=-1,对齐方式=17,@位于某组件之下=1]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,圆角=75,卡片阴影=0,宽度DP=180,高度DP=50]])
	变量 卡片布局1 : 卡片布局
	@布局配置([[父布局=卡片布局1,宽度=-1,高度=-1,对齐方式=17,内容="立即体验",字体大小=22,字体颜色=-1,背景颜色=-10765150,粗体=真,跑马灯效果=真]])
	变量 文本框3 : 文本框
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,背景颜色=-1576716,可视=假]])
	变量 线性布局3 : 线性布局


	变量 时钟1:时钟
	变量 网络工具1:网络工具
	变量 正在更新:逻辑型=假
	事件 启动窗口:创建完毕()
		订阅事件()
		本对象.屏幕方向 = 1
		本对象.显示标题栏 =假
		本对象.状态栏字体黑色 = 真
		本对象.状态栏颜色 = -1576716
		本对象.导航栏颜色 = -1576716
		漂亮的圆形拖动条1.字体大小(0)
		漂亮的圆形拖动条1.是否可拖拽(假)
		漂亮的圆形拖动条1.设置当前进度(0)
		漂亮的圆形拖动条1.是否显示外环刻度(假)
		漂亮的圆形拖动条1.进度条颜色("#FF61EFBF")
		漂亮的圆形拖动条1.拖动球颜色("#FF9AF090")
		漂亮的圆形拖动条1.拖动条背景颜色("#FFF4F7FF")
		时钟1.时钟周期 = 10
		DX全局设置.初始化(本对象)
	结束 事件

	事件 时钟1:周期事件()
		时钟1.时钟周期 = 0
		如果 漂亮的圆形拖动条1.获取当前进度()!=100 则
			漂亮的圆形拖动条1.设置当前进度(漂亮的圆形拖动条1.获取当前进度()+2)
			时钟1.时钟周期 = 10
		否则
			如果 读入文本文件(取数据目录路径()+"/配置文件/个人数据/个人数据.json")=="" 则
				变量 动画:旋转动画?
				动画=旋转动画.新建2(-30,0,0,0)
				动画.保持最终状态 = 假
				动画.播放时间 = 500
				变量 动画2:旋转动画?
				动画2=旋转动画.新建2(30,0,30,0)
				动画2.保持最终状态 = 假
				动画2.播放时间 = 500
				相对布局3.可视 = 假
				相对布局2.可视=真
				线性布局2.播放动画(动画)
				线性布局1.播放动画(动画2)
			否则
				获取升级()
			结束 如果
		结束 如果
	结束 事件

	事件 卡片布局1:被单击()
		媒体操作.播放assets音频(本对象,"mp3/弹窗.mp3")
		变量 消息 : DX基础对话框
		变量 布局 : 协议布局
		消息.样式(DX样式.IOS)
		消息.自定义布局(布局)
		消息.标题("用户协议及隐私政策")
		消息.可取消(假)
		消息.显示()
		事件 布局.用户协议按钮:被单击()
			变量 协议类型:启动信息
			协议类型.置入("协议类型","用户协议")
			切换窗口(协议界面,协议类型)
		结束 事件
		事件 布局.隐私政策按钮1:被单击()
			变量 协议类型:启动信息
			协议类型.置入("协议类型","隐私政策")
			切换窗口(协议界面,协议类型)
		结束 事件
		事件 布局.隐私政策按钮2:被单击()
			变量 协议类型:启动信息
			协议类型.置入("协议类型","隐私政策")
			切换窗口(协议界面,协议类型)
		结束 事件

		事件 布局.同意:被单击()
			申请所有权限()
		结束 事件
		事件 布局.不同意:被单击()
			返回桌面()
			关闭程序()
		结束 事件
	结束 事件
	事件 启动窗口:申请权限完毕(请求码 : 整数,权限集 : 文本[],允许结果 : 整数[])
		变量 写出附加文件:JSON数组=读入资源文件(本对象,"文件列表.json")
		循环(写出索引, 0, 写出附加文件.长度())
			写出资源文件(本对象,写出附加文件.取JSON对象(写出索引).取文本("资源文件"),取数据目录路径()+写出附加文件.取JSON对象(写出索引).取文本("写出路径"))
		结束 循环
		获取升级()
	结束 事件

	方法 获取升级()
		全局配置.配置文件内容=读入资源文件(本对象,"json/配置文件.json")
		全局配置.个人数据=读入文本文件(取数据目录路径()+"/配置文件/个人数据/个人数据.json")
		切换窗口(首页窗口)
		关闭窗口()
		//网络工具1.取网页源码(全局配置.域名+全局配置.配置文件)
	结束 方法
	事件 网络工具1:取网页源码失败()
		弹出错误提示("无法连接服务器")
		漂亮的圆形拖动条1.设置当前进度(0)
		时钟1.时钟周期 = 10
	结束 事件
	事件 网络工具1:取网页源码结束(结果 : 文本,内容 : 字节[],cookie : 文本)
		相对布局3.可视 = 假
		全局配置.配置文件内容=结果
		变量 当前版本号:文本=本对象.取自身版本名称()
		//变量 当前软件包名:文本=取自身包名()
		变量 最新配置文件:JSON对象=结果
		变量 最新版本号:文本=最新配置文件.取JSON对象("软件配置").取文本("版本号")
		变量 最新软件名称:文本=最新配置文件.取JSON对象("软件配置").取文本("软件名称")
		//变量 最新更新标题:文本=最新配置文件.取JSON对象("软件配置").取文本("更新标题")
		变量 最新更新内容:文本=最新配置文件.取JSON对象("软件配置").取文本("更新内容")
		变量 最新更新链接:文本=最新配置文件.取JSON对象("软件配置").取文本("更新链接")
		变量 最新备用链接:文本=最新配置文件.取JSON对象("软件配置").取文本("备用链接")
		变量 最新是否直链:逻辑型=最新配置文件.取JSON对象("软件配置").取逻辑值("直链更新")
		如果 删除文件(取存储卡路径()+"/.blueberry/"+取自身包名())==真 则

		结束 如果
		如果 当前版本号==最新版本号 则
			切换窗口(首页窗口)
		否则
			变量 启动弹窗:DX基础对话框
			变量 启动弹窗布局1:启动弹窗布局
			启动弹窗布局1.文本框1.内容 = 最新更新内容
			启动弹窗.样式(DX样式.Material)
			启动弹窗.圆角(42)
			启动弹窗.自定义布局(启动弹窗布局1)
			启动弹窗.背景遮罩颜色("#00000000")
			启动弹窗.可取消(假)
			启动弹窗.显示()
			事件 启动弹窗布局1.文本框2:被单击()
				如果 最新是否直链==真 则
					启动弹窗布局1.文本框2.内容="正在更新"
					网络工具1.下载(最新更新链接,取存储卡路径()+"/.blueberry/"+取自身包名()+"/"+最新软件名称+"_"+最新版本号+".apk")
					事件 网络工具1:正在下载(进度 : 小数)
						启动弹窗布局1.文本框2.内容="已下载："+进度.到整数().到文本()+"%"
					结束 事件
					事件 网络工具1:下载结束(cookie : 文本)
						安装应用(本对象,取存储卡路径()+"/.blueberry/"+取自身包名()+"/"+最新软件名称+"_"+最新版本号+".apk")
					结束 事件
					事件 网络工具1:下载失败()
						弹出错误提示("更新失败")
						启动弹窗布局1.文本框2.内容="更新失败"
						打开Uri(最新备用链接)
					结束 事件
				否则
					打开Uri(最新更新链接)
				结束 如果
			结束 事件
			事件 启动弹窗布局1.文本框3:被单击()
				打开Uri(最新更新链接)
			结束 事件
		结束 如果
	结束 事件
结束 类

类 协议布局:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-1,对齐方式=17]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度DP=290,高度DP=300,对齐方式=17]])
	变量 线性布局13 : 线性布局
	@布局配置([[父布局=线性布局13,宽度DP=280,高度DP=300,圆角=0,卡片阴影=0,背景颜色=16777215]])
	变量 卡片布局1 : 卡片布局
	@布局配置([[父布局=卡片布局1,宽度=-1,高度=-1,纵向布局=真]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,宽度=-1,高度DP=50,对齐方式=17,内容="用户协议及隐私政策",粗体=真,字体大小=18,可视=假]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=线性布局2,高度DP=150,宽度=-1,对齐方式=1]])
	变量 线性布局3 : 线性布局
	@布局配置([[父布局=线性布局3,宽度DP=200,高度DP=150,内容="欢迎您使用蓝莓占卜，请您充分阅读并理解《用户协议》及《隐私政策》，点击同意表示您已阅读并同意全部条款，感谢您的理解与支持！",粗体=真,字体大小=14,字体颜色=-8816520,对齐方式=16,可视=假]])
	变量 文本框2 : 文本框
	@布局配置([[父布局=线性布局3,宽度DP=200,高度DP=170,纵向布局=真,对齐方式=1]])
	变量 线性布局6 : 线性布局
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=20]])
	变量 线性布局12 : 线性布局
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=20]])
	变量 线性布局7 : 线性布局
	@布局配置([[父布局=线性布局7,对齐方式=16,内容="欢迎您使用蓝莓工具，请您充分",粗体=真,字体大小=14]])
	变量 文本框7 : 文本框
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=20]])
	变量 线性布局8 : 线性布局
	@布局配置([[父布局=线性布局8,对齐方式=16,内容="阅读并理解",粗体=真,字体大小=14]])
	变量 文本框5 : 文本框
	@布局配置([[父布局=线性布局8,对齐方式=16,内容="《用户协议》",粗体=真,字体大小=14,字体颜色=-16611329]])
	变量 用户协议按钮 : 文本框
	@布局配置([[父布局=线性布局8,对齐方式=16,内容="及",粗体=真,字体大小=14]])
	变量 文本框9 : 文本框
	@布局配置([[父布局=线性布局8,对齐方式=16,内容="《隐",粗体=真,字体大小=14,字体颜色=-16611329]])
	变量 隐私政策按钮1 : 文本框
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=20]])
	变量 线性布局9 : 线性布局
	@布局配置([[父布局=线性布局9,对齐方式=16,内容="私政策》",粗体=真,字体大小=14,字体颜色=-16611329]])
	变量 隐私政策按钮2 : 文本框
	@布局配置([[父布局=线性布局9,对齐方式=16,内容="，点击同意表示您已阅",粗体=真,字体大小=14]])
	变量 文本框11 : 文本框
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=20]])
	变量 线性布局10 : 线性布局
	@布局配置([[父布局=线性布局10,对齐方式=16,内容="读并同意全部条款，感谢您的理",粗体=真,字体大小=14]])
	变量 文本框12 : 文本框
	@布局配置([[父布局=线性布局6,宽度=-1,高度DP=20]])
	变量 线性布局11 : 线性布局
	@布局配置([[父布局=线性布局11,对齐方式=16,内容="解与支持！",粗体=真,字体大小=14]])
	变量 文本框13 : 文本框
	@布局配置([[父布局=线性布局2,高度DP=70,宽度=-1,对齐方式=17]])
	变量 线性布局4 : 线性布局
	@布局配置([[父布局=线性布局4,宽度DP=200,高度DP=40,圆角=25,背景颜色=-10431750,卡片阴影=0]])
	变量 同意 : 卡片布局
	@布局配置([[父布局=同意,宽度=-1,高度=-1,内容="同意",对齐方式=17,字体颜色=-1,粗体=真]])
	变量 文本框3 : 文本框
	@布局配置([[父布局=线性布局2,高度DP=70,宽度=-1,对齐方式=17]])
	变量 线性布局5 : 线性布局
	@布局配置([[父布局=线性布局5,宽度DP=200,高度DP=40,圆角=25,背景颜色=-10431750,卡片阴影=0]])
	变量 不同意 : 卡片布局
	@布局配置([[父布局=不同意,宽度=-1,高度=-1,内容="不同意",对齐方式=17,字体颜色=-1,粗体=真]])
	变量 文本框4 : 文本框

结束 类

类 协议界面:窗口

	@布局配置([[根布局=真,宽度=-1,高度=-1,背景颜色=-15329245]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,对齐方式=17,内容="用户协议",粗体=真,字体颜色=-1,字体大小=16,ID=1,高度DP=50]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=相对布局1,对齐方式=17,宽度DP=50,高度DP=50]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,@布局对齐方式=17,图片资源="../../素材/Png/返回.png",宽度DP=25,高度DP=25]])
	变量 图片框1 : 图片框
	@布局配置([[父布局=相对布局1,宽度=-1,高度=-1,@位于布局底部=真,@位于某组件之下=1,左内边距DP=20,上内边距DP=8,下内边距DP=20,右内边距DP=20]])
	变量 相对布局3 : 相对布局
	@布局配置([[父布局=相对布局3,宽度=-1,高度=-1,显示进度条=假,可视=真]])
	变量 浏览框1 : 浏览框

	事件 协议界面:创建完毕()
		本对象.屏幕方向 = 1
		本对象.显示标题栏 = 假
		本对象.状态栏字体黑色 = 假
		本对象.状态栏颜色=-15329245
		本对象.导航栏颜色 = -15329245
		订阅事件()
		浏览框1.背景颜色 = -15329245
		浏览框1.网址 = "file:///android_asset/html/"+取启动信息().取文本("协议类型")+".htm"
	结束 事件

	事件 线性布局2:被单击()
		返回键被按下()
	结束 事件

	@虚拟方法
	方法 返回键被按下()
		父对象.返回键被按下()
	结束 方法

结束 类

类 启动弹窗布局:组件容器

	@布局配置([[根布局=真,宽度=-1,高度=-1,对齐方式=17,纵向布局=真]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,图片资源="../../素材/Png/a1.png",宽度=-1,高度DP=137,拉伸方式=6]])
	变量 图片框3 : 图片框
	@布局配置([[父布局=线性布局1,宽度=-1,高度=-2,显示滚动条=假,完全显示=真,内边距DP=15]])
	变量 滚动布局1 : 滚动布局
	@布局配置([[父布局=滚动布局1,宽度=-1,高度=-1,字体颜色=-7630952,字体大小=14]])
	变量 文本框1 : 文本框
	@布局配置([[父布局=线性布局1,宽度=-1,高度DP=37,阴影=0,圆角=75,@外边距DP=15,水波纹效果=真,背景颜色=-13749184]])
	变量 进度条背景 : 卡片布局
	@布局配置([[父布局=进度条背景,宽度=-1,高度=-1,字体颜色=-1,对齐方式=17,字体大小=16,内容="开始更新",可视=真,背景颜色=16777215]])
	变量 文本框2 : 文本框
	@布局配置([[父布局=线性布局1,宽度=-1,对齐方式=17,单行显示=假,字体颜色=-7630952,内容="网盘更新",字体大小=16,@下外边距DP=5]])
	变量 文本框3 : 文本框

结束 类